Systems and methods for assessing viewer interest in content and advertisements

ABSTRACT

A method for assessing viewer interest in content and advertisements may include receiving an indication regarding a content playback mode change (e.g., a change from a skip or fast-forward mode to a pause or rewind mode) occurring during playing of a media content segment such as a television program or movie. The method then proceeds to associate the playback mode change with a sub-segment of the television program, such as an advertisement or commercial, and a level of interest of a user in the advertisement or commercial is determined based on the associated content playback mode change. An item, such as an advertisement or promotional offer can be selected to be presented to the user based on the determined level of interest of the user in the advertisement or commercial. Systems for assessing viewer interest in content and advertisements include devices and components configured to perform or enable such methods.

TECHNICAL FIELD

The technical field relates to delivering media content andadvertisements, and particularly to assessing viewer interest in mediacontent and advertisements.

BRIEF SUMMARY

In one embodiment, particular user interactions with a receiving deviceoccurring during playback of media content, such as rewinding to view anadvertisement or pausing during an advertisement, signify viewerinterest in the advertisement. The advertisement is then correlated withlevels of interest of the user in the advertisement. There are threegeneral things described by this example embodiment. The advertisementand the record of interaction are two initial things. The other is thecorrelation of the particular advertisement and the viewer interactionwith it. Such correlation of playback modes or playback mode changeswith levels of interest may then be used to select and provide targetedor customized content or other items to the user that are related to theadvertisement that the user may likely be interested in, and thusincrease the probability that the user would respond to such selectedcontent.

For example, a method for assessing such viewer interest may includereceiving an indication regarding a content playback mode change (e.g.,a change from a skip or fast-forward mode to a pause or rewind mode)occurring during playing of a media content segment such as a televisionprogram. The method then proceeds to associate the playback mode changewith a sub-segment of the television program, such as an advertisement,and a level of interest of a user in the advertisement is determinedbased on the associated content playback mode change. An item, such asan advertisement or promotional offer, may then be selected to bepresented to the user based on the determined level of interest of theuser in the advertisement. This selection may happen in the device or ina backend system.

BRIEF DESCRIPTION OF THE DRAWINGS

The components in the drawings are not necessarily to scale relative toeach other. Like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a block diagram illustrating an example content distributionenvironment in which embodiments of assessing viewer interest in contentand advertisements may be implemented, according to one exampleembodiment.

FIG. 2 is a block diagram illustrating elements of an example receivingdevice used in assessing viewer interest in content and advertisements,according to one example embodiment.

FIG. 3 is a diagram of a representation of a media content streamreceived by the receiving device of FIG. 2, according to one exampleembodiment.

FIG. 4 is a table illustrating correlations between the sub-segments ofthe media content stream of FIG. 3, user interactions associated withthe sub-segments and different determined levels of interest in thesub-segments, according to one example embodiment.

FIG. 5 is a flow diagram of a method of assessing viewer interest incontent and advertisements, according to one example embodiment.

FIG. 6 is a flow diagram of a method of selecting items based onassessing viewer interest in content and advertisements, according toone example embodiment.

FIG. 7 is a flow diagram of a method of associating a content playbackmode change with a sub-segment of a media content segment, according toone example embodiment.

DETAILED DESCRIPTION

FIG. 1 is an overview block diagram illustrating a content distributionenvironment in which embodiments of assessing viewer interest in contentand advertisements may be implemented, according to one exampleembodiment.

Before providing additional details regarding the operation andconstitution of methods and systems for assessing viewer interest incontent and advertisements played on receiving devices, the examplecontent distribution environment 102, within which such a receivingdevice may operate, will briefly be described.

In the content distribution environment 102, audio, video, and/or dataservice providers, such as television service providers, provide theircustomers a multitude of video and/or data programming (hereafter,collectively and/or exclusively “programming”). Such programming isoften provided by use of a receiving device 118 communicatively coupledto a presentation device 120 configured to receive the programming. Theprogramming may include any type of media content, including, but notlimited to: television shows, news, movies, sporting events,advertisements, etc.

The receiving device 118 interconnects to one or more communicationsmedia or sources (such as a cable head-end, satellite antenna, telephonecompany switch, Ethernet portal, off-air antenna, or the like) thatprovide the programming. The receiving device 118 commonly receives aplurality of programming by way of the communications media or sourcesdescribed in greater detail below. Based upon selection by a user, thereceiving device 118 processes and communicates the selected programmingto the presentation device 120.

For convenience, examples of a receiving device 118 may include, but arenot limited to, devices such as: a “television converter,” “receiver,”“set-top box,” “television receiving device,” “television receiver,”“television recording device,” “satellite set-top box,” “satellitereceiver,” “cable set-top box,” “cable receiver,” “media player,” and/or“television tuner.” Accordingly, the receiving device 118 may be anysuitable converter device or electronic equipment that is operable toreceive or playback programming. Further, the receiving device 118 mayitself include user interface devices, such as buttons or switches. Inmany applications, a remote-control device (“remote”) 128 is operable tocontrol the receiving device 118 and/or the presentation device 120. Theremote 128 typically communicates with the receiving device 118 using asuitable wireless medium, such as infrared (“IR”), radio frequency(“RF”), or the like.

Examples of a presentation device 120 may include, but are not limitedto: a television (“TV”), a personal computer (“PC”), a sound systemreceiver, a digital video recorder (“DVR”), a compact disk (“CD”)device, game system, or the like. Presentation devices 120 employ adisplay, one or more speakers, and/or other output devices tocommunicate video and/or audio content to a user. In manyimplementations, one or more presentation devices 120 reside in or neara customer's premises 116 and are communicatively coupled, directly orindirectly, to the receiving device 118. Further, the receiving device118 and the presentation device 120 may be integrated into a singledevice. Such a single device may have the above-described functionalityof the receiving device 118 and the presentation device 120, or may evenhave additional functionality.

A content provider 104 provides program content, such as televisioncontent, to a distributor, such as the program distributor 106. Examplecontent providers include television stations which provide local ornational television programming and special content providers whichprovide premium based programming or pay-per-view programming.

Program content (i.e., a program including or not includingadvertisements), is communicated to the program distributor 106 from thecontent provider 104 through suitable communication media, generallyillustrated as communication system 108 for convenience. Communicationsystem 108 may include many different types of communication media, nowknown or later developed. Non-limiting media examples include telephonesystems, the Internet, internets, intranets, cable systems, fiber opticsystems, microwave systems, asynchronous transfer mode (“ATM”) systems,frame relay systems, digital subscriber line (“DSL”) systems, radiofrequency (“RF”) systems, and satellite systems.

In at least one embodiment, the received program content is converted bythe program distributor 106 into a suitable signal (a “program signal”)that is ultimately communicated to the receiving device 118. Otherembodiments of the receiving device 118 may receive programming fromprogram distributors 106 and/or content providers 104 via locallybroadcast RF signals, cable, fiber optic, Internet media, or the like.

In addition, information provider 138 may provide various forms ofcontent and/or services to various devices residing in the customerpremises 116. For example, Information provider 138 may also provideinformation to the receiving device 118 regarding insertion ofadvertisement or other additional content or metadata into a mediacontent segment (e.g., a program) provided to the receiving device 118.In some embodiments, such advertisements or other additional content ormetadata may be provided by an advertisement server 122 to the contentprovider 104 or directly to the receiving device 118.

In the illustrated example, the content provider 104, informationprovider 138 and/or advertisement server 122 may receive informationfrom the receiving device 118. For example, the content provider 104,information provider 138 and/or advertisement server 122 may receiveindications from the receiving device 118 regarding a playback mode thereceiving device is in, or has been in and/or a playback mode changeassociated with a media content segment or a sub-segment of a mediacontent segment (e.g., an advertisement), or any other informationindicating, directly or indirectly, a user level of interest in a mediacontent segment or in a sub-segment of the media content segment. In oneembodiment, the content provider 104, information provider 138 and/oradvertisement server 122 may receive information from the receivingdevice 118 regarding an attempt by a user of the receiving device toview the sub-segment of the media content segment in normal speedplayback mode instead of skipping the sub-segment of the media contentsegment.

The content provider 104 or information provider 138 may also controlthe receiving device 118 by sending commands or metadata associated withmedia content to alert the receiving device 118 to monitor playbackmodes associated with one or more particular advertisements or othermedia content sub-segments of the media content. In some embodiments,the content provider 104 or information provider 138 could also sendcommands to the receiving device 118 through a wired medium (e.g.,Ethernet) to the receiving device 118.

In one embodiment, the advertisement server 122 is configured to selectparticular content for insertion into a media content segment (e.g., aprogram) provided to the receiving device 118 based on the receivedindications from the receiving device 118. As previously mentioned, thereceived indications from the receiving device 118 may indicate aplayback mode the receiving device is in, or has been in and/or aplayback mode change associated with a media content segment or asub-segment of a media content segment (e.g., an advertisement), or anyother information indicating, directly or indirectly, a user level ofinterest in a media content segment or in a sub-segment of the mediacontent segment.

The above description of the content distribution environment 102, thecustomer premises 116, and the various devices therein, is intended as abroad, non-limiting overview of an example environment in which variousembodiments of assessing viewer interest in content and advertisementsmay be implemented. FIG. 1 illustrates just one example of a contentdistribution environment 102 and the various embodiments discussedherein are not limited to such environments. In particular, contentdistribution environment 102 and the various devices therein, maycontain other devices, systems and/or media not specifically describedherein.

Example embodiments described herein provide applications, tools, datastructures and other support to implement assessing viewer interest incontent and advertisements. Other embodiments of the describedtechniques may be used for other purposes, including assessing viewerinterest in content and advertisements played on other receivingdevices, such as audio and DVD players, digital recorders, computers,peripherals, televisions, mobile devices, telephones, and otherelectronic devices, etc. In the following description, numerous specificdetails are set forth, such as data formats, program sequences,processes, and the like, in order to provide a thorough understanding ofthe described techniques. The embodiments described also can bepracticed without some of the specific details described herein, or withother specific details, such as changes with respect to the ordering ofthe code flow, different code flows, and the like. Thus, the scope ofthe techniques and/or functions described are not limited by theparticular order, selection, or decomposition of steps described withreference to any particular module, component, or routine.

FIG. 2 is a block diagram illustrating elements of an example receivingdevice 118 used in assessing viewer interest in content andadvertisements, according to one example embodiment.

In one embodiment, the receiving device 118 is a set-top box configuredto receive, record and display programming on a presentation device. Inother embodiments, the receiving device 118 is a presentation device,such as a television, or is a digital video recorder (DVR) device.

Note that one or more general purpose or special purpose computingsystems/devices may be used to operate the receiving device 118; storeinformation regarding the receiving device 118, program metadata, anduser interaction data (including content playback modes); andcommunicate with the content provider 104, information provider 138and/or advertisement server 122. In addition, the receiving device 118may comprise one or more distinct computing systems/devices and may spandistributed locations. Furthermore, each block shown may represent oneor more such blocks as appropriate to a specific embodiment or may becombined with other blocks. Also, the receiving device operation manager222 may be implemented in software, hardware, firmware, or in somecombination to achieve the capabilities described herein.

In the embodiment shown, receiving device 118 comprises a computermemory (“memory”) 201, a display 202, one or more Central ProcessingUnits (“CPU”) 203, Input/Output devices 204 (e.g., keyboard, mouse, RFor infrared receiver, light emitting diode (LED) panel, cathode ray tube(CRT) or liquid crystal display (LCD), USB ports, other communicationports, and the like), other computer-readable media 205, and networkconnections 206. The receiving device operation manager 222 is shownresiding in memory 201. In other embodiments, some portion of thecontents and some, or all, of the components of the receiving deviceoperation manager 222 may be stored on and/or transmitted over the othercomputer-readable media 205. The components of the receiving device 118and operation manager 222 preferably execute on one or more CPUs 203 andfacilitate the receiving, decoding, processing, selecting, recording,playback and displaying of programming, as described herein. Thereceiving device operation manager 222 also facilitates recording andstorage of user interaction data associated with playback of therecorded programs (e.g., play, fast-forward, rewind, pause, slow-motionplayback, etc.) and communication with peripheral devices, via the I/Odevices 204 and with remote systems (e.g., the content provider 104, theadvertisement server 122, the program distributor 106, and/or theinformation provider 138) via the network connections 206.

Recorded programming may reside on the recorded programs and programmetadata repository 215. The recorded programming stored in the recordedprograms and program metadata repository 215 may also include a recordedmedia content segment in a memory buffer to enable the user to perform apause or rewind function on the media content segment while viewing abroadcast of the media content segment in real time or while receivingthe media content segment as streaming video. The recorded programs andprogram metadata repository 215 may also store various program metadataassociated with the recorded programming stored in the recorded programsand program metadata repository 215, such as that including, but notlimited to, locations within the recorded programming of contentsub-segments (e.g., advertisements) and information regarding suchcontent sub-segments (e.g., identification and categorization ofparticular advertisements, etc.).

The monitored user interaction data repository 216 may include dataregarding previous or current user interactions with the receivingdevice 118, including, but not limited to content playback modes (e.g.,play, fast-forward, rewind, pause, slow-motion playback, etc.), changesin content playback modes, times associated with content playback modesor changes in content playback modes, offset values relative to abeginning of a media content segment at which a content playback modechange occurred, identification of content segments or sub-segmentsassociated with content playback modes or changes in content playbackmodes, etc. The monitored user interaction data repository 216 may alsostore data regarding, but is not limited to: a current mode thereceiving device 118 is in, whether the receiving device is in astand-by mode, whether a screen saver is activated by the receivingdevice 118, whether a program is currently being generated for displayby the receiving device 118, a current channel the receiving device 118is tuned to, a current time, a current status of the receiving device;timestamps of previous periodic status checks of the receiving device118, current configuration information of the receiving device,timestamps of user commands received by the receiving device 118,whether the receiving device is currently receiving content orprogramming, timestamps regarding any event the receiving device hadperformed, lengths of times the receiving devices had been tuned toparticular channels or played particular content, etc.

The correlated event data repository 217 may be calculated immediatelywhen the corresponding user interaction happens, and may then be storedor transmitted. Alternately, the event data repository may be calculatedlater at a scheduled time or when device resources are available andsubsequently transmitted. This data stored in this data repository 217may be calculated off the receiving device 118 in a backend system whenuser interaction data is received. In some embodiments and/or thecalculation of the correlation and the creation of the data stored indata repository 217 may be performed locally on the receiving device.

The user interaction data may be collected by the receiving deviceoperation manager or other programs 230 and communicated via the networkconnections 206 through the communication system 108 to the contentprovider 104, information provider 138 and/or advertisement server 122to facilitate determining viewer interest in content and advertisementsplayed on the receiving device 118. Also, the receiving device operationmanager 222 may interact via the communication system 108 with otherdevices. For example, the other device may be a home computing system(e.g., a desktop computer, a laptop computer, etc.) that includes or hasaccess to (e.g., via communication system 108) the functionality of thecontent provider 104, information provider 138 and/or advertisementserver 122. The corresponding event metadata 216 may have come from thedevice or may have come from an external source.

Other code or programs 230 (e.g., an audio/video processing module, aprogram guide manager module, a Web server, and the like), andpotentially other data repositories, such as data repository 220 forstoring other data (user profiles, preferences and configuration data,etc.), also reside in the memory 201, and preferably execute on one ormore CPUs 203. Of note, one or more of the components in FIG. 2 may ormay not be present in any specific implementation. For example, someembodiments may not provide other computer readable media 205 or adisplay 202.

In some embodiments, the receiving device 118 and operation manager 222includes an application program interface (“API”) that providesprogrammatic access to one or more functions of the receiving device 118and operation manager 222. For example, such an API may provide aprogrammatic interface to one or more functions of the receiving deviceoperation manager 222 that may be invoked by one of the other programs230, the content provider 104, information provider 138, advertisementserver 122, or some other module. In this manner, the API may facilitatethe development of third-party software, such as user interfaces,plug-ins, adapters (e.g., for integrating functions of the receivingdevice operation manager 222 and information provider 138 into desktopapplications), and the like to facilitate assessing and determiningviewer interest in content and advertisements played using the receivingdevice 118.

In an example embodiment, components/modules of the receiving device 118and operation manager 222 are implemented using standard programmingtechniques. For example, the receiving device operation manager 222 maybe implemented as a “native” executable running on the CPU 203, alongwith one or more static or dynamic libraries. In other embodiments, thereceiving device 118 and operation manager 222 may be implemented asinstructions processed by a virtual machine that executes as one of theother programs 230. In general, a range of programming languages knownin the art may be employed for implementing such example embodiments,including representative implementations of various programming languageparadigms, including but not limited to, object-oriented (e.g., Java,C++, C#, Visual Basic.NET, Smalltalk, and the like), functional (e.g.,ML, Lisp, Scheme, and the like), procedural (e.g., C, Pascal, Ada,Modula, and the like), scripting (e.g., Perl, Ruby, Python, JavaScript,VBScript, and the like), or declarative (e.g., SQL, Prolog, and thelike).

In a software or firmware implementation, instructions stored in amemory configure, when executed, one or more processors of the receivingdevice 118 to perform the functions of the receiving device operationmanager 222. In one embodiment, instructions cause the CPU 203 or someother processor, such as an I/O controller/processor, to select andpresent various programming; pause, rewind, fast-forward programming; orcause the receiving device to record or otherwise store userinteractions, times of user interactions, and/or associations of userinteractions with particular content segments or sub-segments.

The embodiments described above may also use well-known or othersynchronous or asynchronous client-server computing techniques. However,the various components may be implemented using more monolithicprogramming techniques as well, for example, as an executable running ona single CPU computer system, or alternatively decomposed using avariety of structuring techniques known in the art, including but notlimited to, multiprogramming, multithreading, client-server, orpeer-to-peer, running on one or more computer systems each having one ormore CPUs. Some embodiments may execute concurrently and asynchronously,and communicate using message passing techniques. Equivalent synchronousembodiments are also supported by a receiving device operation manager222 implementation. Also, other functions could be implemented and/orperformed by each component/module, and in different orders, and bydifferent components/modules, yet still achieve the functions of thereceiving device 118 and operation manager 222.

In addition, programming interfaces to the data stored as part of thereceiving device 118 and operation manager 222, can be available bystandard mechanisms such as through C, C++, C#, and Java APIs; librariesfor accessing files, databases, or other data repositories; scriptinglanguages such as XML; or Web servers, FTP servers, or other types ofservers providing access to stored data. The recorded programs, programmetadata repository 215 and the monitored user interaction datarepository 216 may be implemented as one or more database systems, filesystems, or any other technique for storing such information, or anycombination of the above, including implementations using distributedcomputing techniques.

Different configurations and locations of programs and data arecontemplated for use with techniques described herein. A variety ofdistributed computing techniques are appropriate for implementing thecomponents of the illustrated embodiments in a distributed mannerincluding but not limited to TCP/IP sockets, RPC, RMI, HTTP, and WebServices (XML-RPC, JAX-RPC, SOAP, and the like). Other variations arepossible. Other functionality could also be provided by eachcomponent/module, or existing functionality could be distributed amongstthe components/modules in different ways, yet still achieve thefunctions of the receiving device operation manager 222.

Furthermore, in some embodiments, some or all of the components of thereceiving device 118 and operation manager 222 may be implemented orprovided in other manners, such as at least partially in firmware and/orhardware, including, but not limited to one or more application-specificintegrated circuits (“ASICs”), standard integrated circuits, controllers(e.g., by executing appropriate instructions, and includingmicrocontrollers and/or embedded controllers), field-programmable gatearrays (“FPGAs”), complex programmable logic devices (“CPLDs”), and thelike. Some or all of the system components and/or data structures mayalso be stored as contents (e.g., as executable or othermachine-readable software instructions or structured data) on acomputer-readable medium (e.g., as a hard disk; a memory; a computernetwork, cellular wireless network or other data transmission medium; ora portable media article to be read by an appropriate drive or via anappropriate connection, such as a DVD or flash memory device) so as toenable or configure the computer-readable medium and/or one or moreassociated computing systems or devices to execute or otherwise use, orprovide the contents to perform, at least some of the describedtechniques. Some or all of the system components and data structures mayalso be stored as data signals (e.g., by being encoded as part of acarrier wave or included as part of an analog or digital propagatedsignal) on a variety of computer-readable transmission mediums, whichare then transmitted, including across wireless-based andwired/cable-based mediums, and may take a variety of forms (e.g., aspart of a single or multiplexed analog signal, or as multiple discretedigital packets or frames). Such computer program products may also takeother forms in other embodiments. Accordingly, embodiments of thisdisclosure may be practiced with other computer system configurations.

FIG. 3 is a diagram of a representation of a media content stream 300received by the receiving device 118 of FIG. 2, according to one exampleembodiment.

Users playing back recorded or buffered media content on the receivingdevice 118 may often skip or fast-forward through particular segments ofthe media content. For example, users may often fast-forward or skipthrough advertisements or commercials previously inserted into a programcurrently being played back by a user. Thus, it may be difficult todetermine whether a user has actually viewed, received an impressionfrom, or otherwise been exposed to the various content segments (e.g.,advertisements) in the media content being played. However, if a userdoes play the full the advertisement or a portion thereof, pauses duringthe advertisement, or rewinds to the advertisement to play theadvertisement, this indicates that there is a higher probability theuser may have viewed the advertisement. This may even indicate aparticular level of interest of the user in the advertisement or ofsomething viewed within the advertisement. In many instances, one ormore frames of the advertisement may be presented at some point withinor throughout the fast-forwarding or skipping of the advertisement. Thismay enable the viewer to notice something presented within theadvertisement that may be of interest and then cause the user to pauseduring the advertisement or rewind to play all or a portion of theadvertisement in normal playback speed. Thus, it is beneficial toadvertisers, content providers, publishers, retailers, serviceproviders, television ratings services, or data mining systems, etc., tocorrelate these and other particular user interactions with theparticular advertisement or content segment the user intended to view.Such correlation data may then be used to select and provide targeted orcustomized content or other items to the user that are related to theadvertisement that the user may more likely be interested in, and thusincrease the likelihood that a user would respond to such selectedcontent, or in some instances, prevent particular advertisements orcontent from being provided to a user.

For example, shown in FIG. 3 is a media content segment (e.g., aprogram) 306 of a media content stream 300 that is being played back bya user of the receiving device 118. The program content segment 306,including program content segments 302 a, 302 b, 302 c, is interspersedwith various program content sub-segments (e.g., advertisements 304 a,304 b, 304 c, 304 d, 304 e). The program content segment 306 may be, forexample, any type media content, including, but not limited to,television shows, news, movies, sporting events, etc. At or near timeT3, a user may activate a fast-forward or skip function on the receivingdevice 118 to fast-forward through or skip over advertisement 304 b. Anindication of this user interaction may be recorded or otherwise storedby the receiving device 118 and associated with the advertisement 304 b.This association with the advertisement 304 b may be performed byrecording a first offset relative to a beginning of the media contentsegment 306 at which the fast-forward through or skip command hadoccurred and then determining or recalling from memory a second offsetrelative to a beginning of the media content segment 306 at which theadvertisement 304 b starts or ends. The receiving device 118 thencorrelates the first offset and the second offset. This correlation mayinclude determining that the two offsets are the same or close enough toeach other within a determined threshold value (e.g., within adetermined number of seconds or determined number of frames) todetermine that the user interaction should be associated with theadvertisement 304 b. Thus, the first offset and the second offset may beoffsets based on a time count or based on a video frame count, or anyother measurable item indicative of a location within the media contentsegment 306.

At T4 (or within a determined time or location within the media contentsegment 306 thereafter) the user may initiate a rewind command to apoint within or near (as defined by a determined threshold amount asdescribed above) the advertisement 304 b. This rewind interaction mayalso be recorded according to the process described above. Thus, thefast-forward, skip and/or the rewind command (or the sequence of suchcommands) may be associated with the advertisement 304 b in the mannerdescribed above. The user may then initiate a play command that resultsin playing all or a portion of advertisement 304 b at normal playbackspeed. This play interaction may also be recorded and associated withthe advertisement 304 b based on the advertisement offset data or othermetadata indicating locations within the media content segment 306 ofthe advertisement 304 b. Thus, the tracked and recorded fast-forward orskip interaction, the rewind interaction, and the subsequent playinteraction may each be associated with the advertisement 304 b and thespecific combination and/or sequence of one or more of theseinteractions associated with the advertisement 304 b may be recorded asdata to be used in determining an interest level of the user in theadvertisement 304 b.

A pause interaction may also be associated with the advertisement 304 bby itself, or in combination with one or more of the skip interaction,the rewind interaction, and the play interaction. For example, if a userwatching a live television broadcast pauses at the beginning of anadvertisement, and then skips past the advertisement to avoid viewingthe advertisement, this sequence of interactions may be associated withthe advertisement with an indication that the user has a low level ofinterest in the advertisement. On the other hand, if a user pausesduring the middle of an advertisement while skipping through theadvertisement, this sequence of interactions may be associated with theadvertisement with an indication that the user has a higher level ofinterest in the advertisement or a sub-section of the advertisement atwhich the pause occurred. Thus, pauses associated with an advertisement,depending on the relationship of the pause with other interactionsassociated with the advertisement may be associated with varying levelsof interest of the user in the respective advertisement.

Also, in some embodiments, the tracked and recorded fast-forward or skipinteraction, the rewind interaction, and the subsequent play interactionare each be associated with a particular sub-segment of theadvertisement 304 b in the same manner that these interactions areassociated with the advertisement 304 b itself by using data identifyingparticular locations of interest within the advertisement 304 b. Thus,the specific combination and/or sequence of one or more of theseinteractions associated with the advertisement 304 b may also, orinstead, be recorded as data to be used in determining an interest levelof the user in a particular part of the advertisement 304 b or aparticular item shown in the particular part of the advertisement 304 b.For example, if the advertisement 304 b included a sequence of framesdisplaying a specific automobile and the user rewound to a point withinthe advertisement 304 b at or near the location within the advertisement304 b displaying the automobile, a determination may be made that theuser has a level of interest in the specific automobile or type ofautomobile displayed at that location in the advertisement 304 b.

The other advertisements 304 a, 304 b, 304 c, 304 d, 304 e may also beassociated with various user interactions as described above. Also,although shown as advertisements 304 a, 304 b, 304 c, 304 d, 304 e, insome embodiments, one or more of the advertisements 304 a, 304 b, 304 c,304 d, 304 e may instead be any sub-segment of interest of the mediacontent segment 306. For example, advertisement 304 c may be aparticular sub-segment of a program that includes a product placement,or any other sub-segment for which user interactions such as pausing,fast-forward, rewinding, etc., may be useful to track, such as todetermine the popularity of particular portions of a television show,movie or other program.

FIG. 4 is a table 400 illustrating example correlations between thesub-segments of the media content stream 300 of FIG. 3, userinteractions associated with the advertisements 304 a, 304 b, 304 c, 304d, 304 e, and different determined levels of interest in theadvertisements 304 a, 304 b, 304 c, 304 d, 304 e. Shown are column 402 aindicating particular advertisements, column 402 b indicating exampleuser interactions associated with the advertisements and column 402 cindicating example determined levels of interest in the advertisements.

Various different combinations and sequences of user interactionsassociated with a particular advertisement may be used to assign a levelof interest in the particular advertisement of the user who hadperformed the user interactions. Some examples of such determined levelsof user interest are shown in FIG. 4 in column 402 c. However, othersequences and combinations of user interactions may be used to determinedifferent levels of interest in associated content or advertisements(ads), and other scales, models or levels based on statistical analysesmay be used.

As shown in FIG. 4, in one example instance, advertisement 304 a isassociated with user interactions that indicated the user had skipped ad304 a, then paused after ad 304 a, then rewound to ad 304 a, and thenplayed all or part of ad 304 a. Thus, the determined level of interestof that user in ad 304 a was recorded as “High”. In another exampleinstance, ad 304 c is associated with user interactions that indicatedthe user had skipped the entire ad 304 c. Thus, the determined level ofinterest of that user in ad 304 c was recorded as “Low”. Userinteractions and statistics recorded over time regarding user behavioror interactions relative to advertisements in general or specific typesof advertisements may also be used as a factor in determining, or usedin weighting a determination of, a level of interest in a particularadvertisement. For example, if the recorded user interactions indicatethe user always or nearly always skips ads, then when an interaction ofthe user indicates the user decided to play a particular ad, greaterimportance will be given to that interaction of the user playing that adthan to another user who played the ad, but was determined to always ornearly always play ads without skipping them. Thus, individual modelsfor determining levels of interest may be generated and used fordifferent users based on previous interactions of particular users withadvertisements, or particular types of advertisements or content. Also,if it is determined that a user regularly watches particular types ofads and skips others, this information may also be recorded and used todetermine preferences of the user or otherwise used to select content toprovide to the user based on the particular types of ads viewed orskipped.

Some or all of the correlations and other similar correlations shown intable 400 may be determined by the receiving device 118 and stored inone or more of: the monitored user interaction data repository 216, therecorded programs and program metadata repository 215, the correlatedevent data repository 217, and the “other” data repository 220 of thereceiving device 118. Also, some or all of the correlations and othersimilar correlations shown in table 400 may be determined by, receivedby, and/or stored by the content provider 104, information provider 138and/or advertisement server 122.

FIG. 5 is a flow diagram of a method 500 of assessing viewer interest incontent and advertisements, according to one example embodiment.

At 502, the receiving device 118 or a system remote from the receivingdevice 118 receives an indication regarding at least one user playbackmode change occurring during playing of a media content segment.

At 504, the receiving device 118 or a system remote from the receivingdevice 118 associates the at least one user playback mode change with asub-segment of the media content segment.

At 506, the receiving device 118 or a system remote from the receivingdevice 118 determines a level of interest of a user in the sub-segmentof the media content segment based on the associated at least one userplayback mode change.

FIG. 6 is a flow diagram of a method 600 of selecting items based onassessing viewer interest in content and advertisements, according toone example embodiment.

At 602, the receiving device 118 or a system remote from the receivingdevice 118 receives an association between at least one user playbackmode change and a sub-segment of a media content segment played by auser.

At 604, the receiving device 118 or a system remote from the receivingdevice 118 determines a level of interest of the user in the sub-segmentof the media content segment based on the received association betweenthe at least one user playback mode change and the sub-segment.

At 606, the receiving device 118 or a system remote from the receivingdevice 118 selects an item to present to the user based on thedetermined level of interest of the user in the sub-segment of the mediacontent segment. In some embodiments, if the receiving device 118selects such an item to present to the user based on the determinedlevel of interest, the receiving device 118 may have received aplurality of items from which to select from the content provider 104,information provider 138 and/or advertisement server 122 and previouslystored or cached items on the receiving device 118 memory 201 in orderto quickly insert such items at selected positions within the mediacontent stream 300 for display to the user. In other embodiments,content provider 104, information provider 138 and/or advertisementserver 122 may provide such items in the media content stream 300provided to the receiving device 118 from the content provider 104,information provider 138 and/or advertisement server 122.

FIG. 7 is a flow diagram of a method 700 of associating a user playbackmode change with a sub-segment of a media content segment, according toone example embodiment.

At 702, the receiving device 118 or a system remote from the receivingdevice 118 receives an indication regarding at least one user playbackmode change occurring during playing of a media content segment.

At 704, the receiving device 118 or a system remote from the receivingdevice 118 associates the at least one user playback mode change with asub-segment of the media content segment.

At 706, the receiving device 118 or a system remote from the receivingdevice 118 stores the association between the at least one user playbackmode change and the sub-segment of the media content segment.

While various embodiments have been described hereinabove, it is to beappreciated that various changes in form and detail may be made withoutdeparting from the spirit and scope of the invention(s) presently orhereafter claimed.

1. A computer-implemented method comprising: receiving an indicationregarding a content playback mode change occurring during playing of amedia content segment; associating the content playback mode change witha sub-segment of the media content segment; and assigning a level ofinterest of a user in the sub-segment of the media content segment basedon the associated content playback mode change.
 2. The method of claim 1wherein the assigning a level of interest of the user includes:determining a lower level of interest of the user in the sub-segment ofthe media content segment if the content playback mode change indicatesthe user skipped at least a portion of the sub-segment than if the userplayed the entire sub-segment in normal speed.
 3. The method of claim 1wherein the assigning a level of interest of the user includes:determining a higher level of interest of the user in the sub-segment ofthe media content segment if the at least one playback mode changeindicates the user started to skip the sub-segment and then rewound toattempt to view the sub-segment than if the content playback mode changeindicates the user skipped the sub-segment entirely.
 4. The method ofclaim 1 wherein the assigning a level of interest of the user includes:determining a higher level of interest of the user in the sub-segment ofthe media content segment if the at least one playback mode changeindicates the user started to skip the sub-segment and then rewound toattempt to view the sub-segment than if the user played the entiresub-segment in normal speed.
 5. The method of claim 1 furthercomprising: repeating the receiving an indication, the associating thecontent playback mode change and the assigning a level of interest, fora plurality of sub-segments of media content; determining a category ofinterest based on the determined level of interest in the plurality ofsub-segments of media content.
 6. The method of claim 1 furthercomprising: communicating the determined level of interest to a serviceprovider; and receiving, in response to the communicating the determinedlevel of interest, selected media content at least some of which isselected for display to the user based on the determined level ofinterest.
 7. The method of claim 1 wherein the sub-segment of the mediacontent segment is an advertisement.
 8. The method of claim 1 furthercomprising: recording the media content segment before receiving theindication regarding the content playback mode change during playing ofthe media content segment.
 9. The method of claim 8 wherein therecording includes recording the media content segment in a memorybuffer to enable the user to perform a rewind function on the mediacontent segment while viewing a broadcast of the media content segmentin real time or while receiving the media content segment as streamingvideo.
 10. The method of claim 1 wherein the entire media contentsegment is previously recorded prior to the playing of the media contentsegment.
 11. The method of claim 1 wherein the associating the contentplayback mode change with a sub-segment of the media content segmentincludes: recording a first offset relative to a beginning of the mediacontent segment at which the content playback mode change occurred;determining a second offset relative to a beginning of the media contentsegment at which the sub-segment starts or ends; correlating the firstoffset and the second offset; and associating the content playback modechange with a sub-segment of the media content segment based on thecorrelation.
 12. The method of claim 11 wherein the first offset and thesecond offset are offsets based on a time count or based on a videoframe count.
 13. The method of claim 1 wherein the associating thecontent playback mode change with a sub-segment of the media contentsegment includes: receiving an indication that the sub-segment of themedia content segment is being played or being skipped through by use ofstored metadata associated with the media content segment; receiving anindication that the content playback mode change caused one or more ofthe following to occur: frames of the sub-segment of the media contentsegment to cease being played or cease being skipped through; frames ofthe sub-segment of the media content segment to be played more than oncebefore the entire media content segment was finished being played;frames of the sub-segment of the media content segment to be played morethan once within a determined timeframe; frames of the sub-segment ofthe media content segment to be skipped through and thereafter playedbefore the entire media content segment was finished being played;frames of the sub-segment of the media content segment to be skippedthrough and thereafter played within a determined timeframe; andassociating the content playback mode change with the sub-segment of themedia content segment based on what the received indication that thecontent playback mode change caused had indicated.
 14. The method ofclaim 1 wherein the receiving, associating and determining is performedby a receiving device that is configured to perform the playing of themedia content segment.
 15. The method of claim 1 wherein the receivingincludes receiving the indication regarding the content playback modechange from a receiving device that is configured to perform the playingof the media content segment, and the associating and determining isperformed by one or more computer systems remote from the receivingdevice that is configured to perform the playing of the media contentsegment.
 16. A receiving device comprising: at least one processor; anda memory coupled to the at least one processor, wherein the at least oneprocessor is configured to: receive an indication regarding a contentplayback mode change occurring during playing of a media contentsegment; and associate the content playback mode change with asub-segment of the media content segment; and store the associationbetween the content playback mode change and the sub-segment of themedia content segment.
 17. The receiving device of claim 16 wherein theassociation between the content playback mode change and the sub-segmentof the media content segment indicates a level of interest of a user whoperformed the content playback mode change in the sub-segment of themedia content segment.
 18. The receiving device of claim 16 wherein theat least one processor is further configured to: communicate theassociation between the content playback mode change and the asub-segment of the media content segment; and receive, in response tothe communicated association, selected content for display by thereceiving device based on the communicated association.
 19. Anon-transitory computer-readable storage medium having computerexecutable instructions thereon, that when executed by a computerprocessor, cause the following method to be performed: receiving anassociation between a content playback mode change and a sub-segment ofa media content segment played by a user; assigning a level of interestof the user in the sub-segment of the media content segment based on thereceived association between the content playback mode change and thesub-segment; and selecting an item to present to the user based on thedetermined level of interest of the user in the sub-segment of the mediacontent segment.
 20. The non-transitory computer-readable storage mediumof claim 19 wherein the selected item is one or more of: anadvertisement, a program, a product offer, an electronic program guideconfiguration, a Web page, an email, a text message, a promotion, acoupon, a phone call, a product offer, a service offer, a digital videosegment, and an audio segment.
 21. The non-transitory computer-readablestorage medium of claim 19 wherein the assigning a level of interest ofthe user in the sub-segment of the media content segment comprises:determining a positive level of interest of the user in the sub-segmentof the media content segment if the received association between thecontent playback mode change and the sub-segment indicates the userattempted to view the sub-segment of the media content segment in normalspeed playback mode instead of skipping the sub-segment of the mediacontent segment.